10 DATA 3E,01: ' LD A, 1
20 DATA CD,0E,BC: ' CALL &BC0E - SET MODE
30 DATA 3E,0A: ' LD A, 10
40 DATA CD,6F,BB: ' CALL &BB6F - CURSOR COLUMN
50 DATA 3E,05: ' LD A, 5
60 DATA CD,72,BB: ' CALL &BB72 - CURSOR ROW
70 DATA 3E,00: ' LD A, 0
80 DATA CD,96,BB: ' CALL &BB96 - SET PAPER
90 DATA 3E,01: ' LD A, 1
100 DATA 32,34,75: ' LD (30004), A - Asignacion: COLOR=1
110 ' Etiqueta de salto: FOR_1, posicion: 30125
120 ' IF 3<COLOR
130 DATA 3A,34,75: ' LD A, (30004) - Variable: COLOR
140 DATA 47:' LD B, A (COLOR)
150 DATA 3E,03: ' LD A, 3
160 DATA B8:' CP B
170 DATA FA:' JP M
180 DATA nnnFIN_FOR_1LO,nnnFIN_FOR_1HI: ' JP FIN_FOR_1
190 DATA 3A,34,75: ' LD A, (30004) - Variable: COLOR
200 DATA CD,90,BB: ' CALL &BB90 - SET PEN
210 DATA 3E,2A: ' LD A, "*"
220 DATA CD,5A,BB: ' CALL &BB5A - WRITECHAR
230 DATA 3A,34,75: ' LD A, (30004) - Variable: COLOR
240 DATA 3C :' INC A
250 DATA 32,34,75: ' LD (30004), A - Incremento: COLOR+1
260 DATA C3,AD,75: ' JP FOR_1
270 ' Etiqueta de salto: FIN_FOR_1, posicion: 30156
280 DATA 3E,0A: ' LD A, 10
290 DATA CD,6F,BB: ' CALL &BB6F - CURSOR COLUMN
300 DATA 3E,07: ' LD A, 7
310 DATA CD,72,BB: ' CALL &BB72 - CURSOR ROW
320 DATA 3E,01: ' LD A, 1
330 DATA CD,96,BB: ' CALL &BB96 - SET PAPER
340 DATA 3E,02: ' LD A, 2
350 DATA 32,34,75: ' LD (30004), A - Asignacion: COLOR=2
360 ' Etiqueta de salto: WHILE_2, posicion: 30176
370 ' WHILE COLOR<3
380 ' IF COLOR>=3
390 DATA 3E,03: ' LD A, 3
400 DATA 47:' LD B, A (3)
410 DATA 3A,34,75: ' LD A, (30004) - Variable: COLOR
420 DATA B8:' CP B
430 DATA F2:' JP P
440 DATA nnnFIN_WHILE_2LO,nnnFIN_WHILE_2HI: ' JP FIN_WHILE_2
450 DATA 3A,34,75: ' LD A, (30004) - Variable: COLOR
460 DATA CD,90,BB: ' CALL &BB90 - SET PEN
470 DATA 3E,2B: ' LD A, "+"
480 DATA CD,5A,BB: ' CALL &BB5A - WRITECHAR
490 DATA 3A,34,75: ' LD A, (30004) - Variable: COLOR
500 DATA 3C :' INC A
510 DATA 32,34,75: ' LD (30004), A - Incremento: COLOR+1
520 DATA C3,E0,75: ' JP WHILE_2
530 ' Etiqueta de salto: FIN_WHILE_2, posicion: 30207
540 DATA 3E,0A: ' LD A, 10
550 DATA CD,6F,BB: ' CALL &BB6F - CURSOR COLUMN
560 DATA 3E,09: ' LD A, 9
570 DATA CD,72,BB: ' CALL &BB72 - CURSOR ROW
580 DATA 3E,03: ' LD A, 3
590 DATA CD,96,BB: ' CALL &BB96 - SET PAPER
600 DATA 3E,02: ' LD A, 2
610 DATA 32,34,75: ' LD (30004), A - Asignacion: COLOR=2
620 ' Etiqueta de salto: REPEAT_3, posicion: 30227
630 DATA 3A,34,75: ' LD A, (30004) - Variable: COLOR
640 DATA CD,90,BB: ' CALL &BB90 - SET PEN
650 DATA 3E,40: ' LD A, "@"
660 DATA CD,5A,BB: ' CALL &BB5A - WRITECHAR
670 DATA 3A,34,75: ' LD A, (30004) - Variable: COLOR
680 DATA 3D :' DEC A
690 DATA 32,34,75: ' LD (30004), A - Incremento: COLOR+1
700 ' REPEAT UNTIL COLOR=0
710 ' IF COLOR<>0
720 DATA 3E,00: ' LD A, 0
730 DATA 47:' LD B, A (0)
740 DATA 3A,34,75: ' LD A, (30004) - Variable: COLOR
750 DATA B8:' CP B
760 DATA C2:' JP NZ
770 DATA 13,76: ' direcc de salto REPEAT_3
780 DATA 3E,00: ' LD A, 0
790 DATA CD,96,BB: ' CALL &BB96 - SET PAPER
800 DATA 3E,01: ' LD A, 1
810 DATA CD,90,BB: ' CALL &BB90 - SET PEN
820 DATA C9: ' RET
830 longitud = 165
840 MEMORY 29999
850 'Codigo del programa
860 FOR n=30100 TO 30100+longitud
870   READ a$:POKE n,VAL("&"+a$)
880 NEXT
890 'Espacio para variables
900 FOR n=30000 TO 30099
910   POKE n,0
920 NEXT
930 POKE 30000, &CD: 'inicio: CALL 30100
940 POKE 30001,148
950 POKE 30002,117
960 CALL 30000
